[INFO] cloning repository https://github.com/calvin-gehrig/tiro
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/calvin-gehrig/tiro" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcalvin-gehrig%2Ftiro", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcalvin-gehrig%2Ftiro'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8cb02b35d79932a866c91353e428b9a1ffe6630c
[INFO] fixing calvin-gehrig/tiro against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcalvin-gehrig%2Ftiro" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/calvin-gehrig/tiro
[INFO] finished tweaking git repo https://github.com/calvin-gehrig/tiro
[INFO] tweaked toml for git repo https://github.com/calvin-gehrig/tiro written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/calvin-gehrig/tiro on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/calvin-gehrig/tiro already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2996721cd4c4a1ad37eb2aa955e77b62e6da107f558c0b16d55adae11f2f536d
[INFO] running `Command { std: "docker" "start" "2996721cd4c4a1ad37eb2aa955e77b62e6da107f558c0b16d55adae11f2f536d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2996721cd4c4a1ad37eb2aa955e77b62e6da107f558c0b16d55adae11f2f536d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2996721cd4c4a1ad37eb2aa955e77b62e6da107f558c0b16d55adae11f2f536d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2996721cd4c4a1ad37eb2aa955e77b62e6da107f558c0b16d55adae11f2f536d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking tiro v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected one of `!`, `(`, `)`, `+`, `,`, `::`, or `<`, found `current_set`
[INFO] [stdout]    --> src/parser.rs:147:45
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn predict(symbol: RuleId, item: EarleyItem current_set: &mut StateSet, chart: &mut Chart, grammar: &Grammar) {
[INFO] [stdout]     |                                            -^^^^^^^^^^^ expected one of 7 possible tokens
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: missing `,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `!`, `(`, `)`, `+`, `,`, `::`, or `<`, found `current_set`
[INFO] [stdout]    --> src/parser.rs:147:45
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn predict(symbol: RuleId, item: EarleyItem current_set: &mut StateSet, chart: &mut Chart, grammar: &Grammar) {
[INFO] [stdout]     |                                            -^^^^^^^^^^^ expected one of 7 possible tokens
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: missing `,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Id` in this scope
[INFO] [stdout]    --> src/parser.rs:155:10
[INFO] [stdout]     |
[INFO] [stdout] 155 |         (Id(_), Id(_)) => true,
[INFO] [stdout]     |          ^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::Id;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Id` in this scope
[INFO] [stdout]    --> src/parser.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |         (Id(_), Id(_)) => true,
[INFO] [stdout]     |                 ^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::Id;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `StringToken` in this scope
[INFO] [stdout]    --> src/parser.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 |         (StringToken(_), StringToken(_)) => true,
[INFO] [stdout]     |          ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::StringToken;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `StringToken` in this scope
[INFO] [stdout]    --> src/parser.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |         (StringToken(_), StringToken(_)) => true,
[INFO] [stdout]     |                          ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::StringToken;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Number` in this scope
[INFO] [stdout]    --> src/parser.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 157 |         (Number(_), Number(_)) => true,
[INFO] [stdout]     |          ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::Number;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Number` in this scope
[INFO] [stdout]    --> src/parser.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |         (Number(_), Number(_)) => true,
[INFO] [stdout]     |                     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::Number;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: type alias `Rule` is private
[INFO] [stdout]   --> src/parser.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout]  5 |         Rule,
[INFO] [stdout]    |         ^^^^ private type alias
[INFO] [stdout]    |
[INFO] [stdout] note: the type alias `Rule` is defined here
[INFO] [stdout]   --> src/grammar.rs:66:1
[INFO] [stdout]    |
[INFO] [stdout] 66 | type Rule = Vec<Symbol>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Id` in this scope
[INFO] [stdout]    --> src/parser.rs:155:10
[INFO] [stdout]     |
[INFO] [stdout] 155 |         (Id(_), Id(_)) => true,
[INFO] [stdout]     |          ^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::Id;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Id` in this scope
[INFO] [stdout]    --> src/parser.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |         (Id(_), Id(_)) => true,
[INFO] [stdout]     |                 ^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::Id;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `StringToken` in this scope
[INFO] [stdout]    --> src/parser.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 |         (StringToken(_), StringToken(_)) => true,
[INFO] [stdout]     |          ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::StringToken;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `StringToken` in this scope
[INFO] [stdout]    --> src/parser.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |         (StringToken(_), StringToken(_)) => true,
[INFO] [stdout]     |                          ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::StringToken;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Number` in this scope
[INFO] [stdout]    --> src/parser.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 157 |         (Number(_), Number(_)) => true,
[INFO] [stdout]     |          ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::Number;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Number` in this scope
[INFO] [stdout]    --> src/parser.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |         (Number(_), Number(_)) => true,
[INFO] [stdout]     |                     ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::parser::Token::Number;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: type alias `Rule` is private
[INFO] [stdout]   --> src/parser.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout]  5 |         Rule,
[INFO] [stdout]    |         ^^^^ private type alias
[INFO] [stdout]    |
[INFO] [stdout] note: the type alias `Rule` is defined here
[INFO] [stdout]   --> src/grammar.rs:66:1
[INFO] [stdout]    |
[INFO] [stdout] 66 | type Rule = Vec<Symbol>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: enum `Symbol` is private
[INFO] [stdout]   --> src/parser.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  6 |         Symbol,
[INFO] [stdout]    |         ^^^^^^ private enum
[INFO] [stdout]    |
[INFO] [stdout] note: the enum `Symbol` is defined here
[INFO] [stdout]   --> src/grammar.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | enum Symbol {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: enum `RuleId` is private
[INFO] [stdout]    --> src/parser.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout]   7 |         RuleId,
[INFO] [stdout]     |         ^^^^^^ private enum
[INFO] [stdout]     |
[INFO] [stdout] note: the enum `RuleId` is defined here
[INFO] [stdout]    --> src/grammar.rs:37:9
[INFO] [stdout]     |
[INFO] [stdout]  37 |           enum RuleId {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 | / grammar_rule!{
[INFO] [stdout]  91 | |     Program := Block:n __:n EndOfProgram:t,
[INFO] [stdout]  92 | |     Block := Statement:n
[INFO] [stdout]  93 | |         | Statement:n __:n Block:n,
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |     Null :=
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this error originates in the macro `grammar_rule` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: enum `Symbol` is private
[INFO] [stdout]   --> src/parser.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  6 |         Symbol,
[INFO] [stdout]    |         ^^^^^^ private enum
[INFO] [stdout]    |
[INFO] [stdout] note: the enum `Symbol` is defined here
[INFO] [stdout]   --> src/grammar.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | enum Symbol {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: enum `RuleId` is private
[INFO] [stdout]    --> src/parser.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout]   7 |         RuleId,
[INFO] [stdout]     |         ^^^^^^ private enum
[INFO] [stdout]     |
[INFO] [stdout] note: the enum `RuleId` is defined here
[INFO] [stdout]    --> src/grammar.rs:37:9
[INFO] [stdout]     |
[INFO] [stdout]  37 |           enum RuleId {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 | / grammar_rule!{
[INFO] [stdout]  91 | |     Program := Block:n __:n EndOfProgram:t,
[INFO] [stdout]  92 | |     Block := Statement:n
[INFO] [stdout]  93 | |         | Statement:n __:n Block:n,
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |     Null :=
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this error originates in the macro `grammar_rule` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parser.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn complete(self, chart: &mut Chart) -> Vec<EarleyItem> {
[INFO] [stdout]    |                                             --------------- expected `Vec<EarleyItem>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 41 |         chart.get_waiting_items(self.start, self.rule_id)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Vec<EarleyItem>`, found `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<EarleyItem>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] note: method `get_waiting_items` modifies its receiver in-place
[INFO] [stdout]   --> src/parser.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |         chart.get_waiting_items(self.start, self.rule_id)
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ this call modifies `chart` in-place
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parser.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn complete(self, chart: &mut Chart) -> Vec<EarleyItem> {
[INFO] [stdout]    |                                             --------------- expected `Vec<EarleyItem>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 41 |         chart.get_waiting_items(self.start, self.rule_id)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Vec<EarleyItem>`, found `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<EarleyItem>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] note: method `get_waiting_items` modifies its receiver in-place
[INFO] [stdout]   --> src/parser.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |         chart.get_waiting_items(self.start, self.rule_id)
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ this call modifies `chart` in-place
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: method `get_rules` is private
[INFO] [stdout]   --> src/parser.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 |         for rule in grammar.get_rules(rule_id) {
[INFO] [stdout]    |                             ^^^^^^^^^ private method
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/grammar.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn get_rules(&self, rule_id: RuleId) -> &Vec<Rule> {
[INFO] [stdout]    |     -------------------------------------------------- private method defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: method `starting_rule` is private
[INFO] [stdout]    --> src/parser.rs:125:58
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut current_set = StateSet::starting_set(grammar.starting_rule());
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^ private method
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grammar.rs:85:5
[INFO] [stdout]     |
[INFO] [stdout]  85 |     fn starting_rule(&self) -> &Rule {
[INFO] [stdout]     |     -------------------------------- private method defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: method `get_rules` is private
[INFO] [stdout]   --> src/parser.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 |         for rule in grammar.get_rules(rule_id) {
[INFO] [stdout]    |                             ^^^^^^^^^ private method
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/grammar.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn get_rules(&self, rule_id: RuleId) -> &Vec<Rule> {
[INFO] [stdout]    |     -------------------------------------------------- private method defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pop_front` found for struct `StateSet` in the current scope
[INFO] [stdout]    --> src/parser.rs:131:44
[INFO] [stdout]     |
[INFO] [stdout]  45 | struct StateSet {
[INFO] [stdout]     | --------------- method `pop_front` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |         while let Some(item) = current_set.pop_front()  {
[INFO] [stdout]     |                                            ^^^^^^^^^ method not found in `StateSet`
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 131 |         while let Some(item) = current_set.queue.pop_front()  {
[INFO] [stdout]     |                                            ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: method `starting_rule` is private
[INFO] [stdout]    --> src/parser.rs:125:58
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut current_set = StateSet::starting_set(grammar.starting_rule());
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^ private method
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grammar.rs:85:5
[INFO] [stdout]     |
[INFO] [stdout]  85 |     fn starting_rule(&self) -> &Rule {
[INFO] [stdout]     |     -------------------------------- private method defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:134:94
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 Some(Symbol::NonTerminal(symbol)) => predict(symbol, item, &mut current_set, &mut chart, &grammar),
[INFO] [stdout]     |                                                      -------                                 ^^^^^^^^^^ expected `&mut Chart`, found `&mut Vec<_>`
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Chart`
[INFO] [stdout]                found mutable reference `&mut Vec<_>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parser.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn predict(symbol: RuleId, item: EarleyItem current_set: &mut StateSet, chart: &mut Chart, grammar: &Grammar) {
[INFO] [stdout]     |    ^^^^^^^                                                              -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:138:40
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 None => complete(item, &mut chart, &mut next_set, &mut parse_result)
[INFO] [stdout]     |                         --------       ^^^^^^^^^^ expected `&mut Chart`, found `&mut Vec<_>`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Chart`
[INFO] [stdout]                found mutable reference `&mut Vec<_>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parser.rs:164:4
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn complete(item: EarleyItem, chart: &mut Chart, next_set: &mut StateSet, parse_result: &mut Vec<EarleyItem>) {
[INFO] [stdout]     |    ^^^^^^^^                   -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `return_result` found for struct `Vec<_>` in the current scope
[INFO] [stdout]    --> src/parser.rs:144:11
[INFO] [stdout]     |
[INFO] [stdout] 144 |     chart.return_result()
[INFO] [stdout]     |           ^^^^^^^^^^^^^ method not found in `Vec<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `len` exists for mutable reference `&mut Chart`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/parser.rs:148:34
[INFO] [stdout]     |
[INFO] [stdout]  83 | struct Chart {
[INFO] [stdout]     | ------------ doesn't satisfy `Chart: ExactSizeIterator`
[INFO] [stdout] ...
[INFO] [stdout] 148 |     let current_position = chart.len() - 1;
[INFO] [stdout]     |                                  ^^^ method cannot be called on `&mut Chart` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Chart: ExactSizeIterator`
[INFO] [stdout]             which is required by `&mut Chart: ExactSizeIterator`
[INFO] [stdout] note: the trait `ExactSizeIterator` must be implemented
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/exact_size.rs:86:0
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `len`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ExactSizeIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:158:37
[INFO] [stdout]     |
[INFO] [stdout] 158 |         (first, second) => first == second
[INFO] [stdout]     |                            -----    ^^^^^^ expected `Token`, found `&Token`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            expected because this is `Token`
[INFO] [stdout]     |
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 158 |         (first, second) => first == *second
[INFO] [stdout]     |                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/parser.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |     item.complete().into_iter()
[INFO] [stdout]     |          ^^^^^^^^-- argument #1 of type `&mut Chart` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/parser.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn complete(self, chart: &mut Chart) -> Vec<EarleyItem> {
[INFO] [stdout]     |        ^^^^^^^^       -----------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 166 |     item.complete(/* &mut Chart */).into_iter()
[INFO] [stdout]     |                   ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `()` is not an iterator
[INFO] [stdout]    --> src/parser.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | /     item.complete().into_iter()
[INFO] [stdout] 167 | |         .for_each(|item| {
[INFO] [stdout] 168 | |             next_set.add_item(item.move_forward());
[INFO] [stdout] 169 | |         }).collect();
[INFO] [stdout]     | |           -^^^^^^^ `()` is not an iterator
[INFO] [stdout]     | |___________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `(): Iterator`
[INFO] [stdout]             which is required by `&mut (): Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/grammar.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn starting_rule(&self) -> &Rule {
[INFO] [stdout]    |                                ----- expected `&Vec<Symbol>` because of return type
[INFO] [stdout] 86 |         self.start
[INFO] [stdout]    |         ^^^^^^^^^^ expected `&Vec<Symbol>`, found `Vec<Symbol>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&Vec<_>`
[INFO] [stdout]                  found struct `Vec<_>`
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 86 |         &self.start
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pop_front` found for struct `StateSet` in the current scope
[INFO] [stdout]    --> src/parser.rs:131:44
[INFO] [stdout]     |
[INFO] [stdout]  45 | struct StateSet {
[INFO] [stdout]     | --------------- method `pop_front` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |         while let Some(item) = current_set.pop_front()  {
[INFO] [stdout]     |                                            ^^^^^^^^^ method not found in `StateSet`
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 131 |         while let Some(item) = current_set.queue.pop_front()  {
[INFO] [stdout]     |                                            ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:134:94
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 Some(Symbol::NonTerminal(symbol)) => predict(symbol, item, &mut current_set, &mut chart, &grammar),
[INFO] [stdout]     |                                                      -------                                 ^^^^^^^^^^ expected `&mut Chart`, found `&mut Vec<_>`
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Chart`
[INFO] [stdout]                found mutable reference `&mut Vec<_>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parser.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn predict(symbol: RuleId, item: EarleyItem current_set: &mut StateSet, chart: &mut Chart, grammar: &Grammar) {
[INFO] [stdout]     |    ^^^^^^^                                                              -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:138:40
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 None => complete(item, &mut chart, &mut next_set, &mut parse_result)
[INFO] [stdout]     |                         --------       ^^^^^^^^^^ expected `&mut Chart`, found `&mut Vec<_>`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Chart`
[INFO] [stdout]                found mutable reference `&mut Vec<_>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parser.rs:164:4
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn complete(item: EarleyItem, chart: &mut Chart, next_set: &mut StateSet, parse_result: &mut Vec<EarleyItem>) {
[INFO] [stdout]     |    ^^^^^^^^                   -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `return_result` found for struct `Vec<_>` in the current scope
[INFO] [stdout]    --> src/parser.rs:144:11
[INFO] [stdout]     |
[INFO] [stdout] 144 |     chart.return_result()
[INFO] [stdout]     |           ^^^^^^^^^^^^^ method not found in `Vec<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0531, E0599, E0603, E0624.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `len` exists for mutable reference `&mut Chart`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/parser.rs:148:34
[INFO] [stdout]     |
[INFO] [stdout]  83 | struct Chart {
[INFO] [stdout]     | ------------ doesn't satisfy `Chart: ExactSizeIterator`
[INFO] [stdout] ...
[INFO] [stdout] 148 |     let current_position = chart.len() - 1;
[INFO] [stdout]     |                                  ^^^ method cannot be called on `&mut Chart` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Chart: ExactSizeIterator`
[INFO] [stdout]             which is required by `&mut Chart: ExactSizeIterator`
[INFO] [stdout] note: the trait `ExactSizeIterator` must be implemented
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/exact_size.rs:86:0
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `len`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ExactSizeIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:158:37
[INFO] [stdout]     |
[INFO] [stdout] 158 |         (first, second) => first == second
[INFO] [stdout]     |                            -----    ^^^^^^ expected `Token`, found `&Token`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            expected because this is `Token`
[INFO] [stdout]     |
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 158 |         (first, second) => first == *second
[INFO] [stdout]     |                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/parser.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |     item.complete().into_iter()
[INFO] [stdout]     |          ^^^^^^^^-- argument #1 of type `&mut Chart` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/parser.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn complete(self, chart: &mut Chart) -> Vec<EarleyItem> {
[INFO] [stdout]     |        ^^^^^^^^       -----------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 166 |     item.complete(/* &mut Chart */).into_iter()
[INFO] [stdout]     |                   ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `()` is not an iterator
[INFO] [stdout]    --> src/parser.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | /     item.complete().into_iter()
[INFO] [stdout] 167 | |         .for_each(|item| {
[INFO] [stdout] 168 | |             next_set.add_item(item.move_forward());
[INFO] [stdout] 169 | |         }).collect();
[INFO] [stdout]     | |           -^^^^^^^ `()` is not an iterator
[INFO] [stdout]     | |___________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `(): Iterator`
[INFO] [stdout]             which is required by `&mut (): Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/grammar.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn starting_rule(&self) -> &Rule {
[INFO] [stdout]    |                                ----- expected `&Vec<Symbol>` because of return type
[INFO] [stdout] 86 |         self.start
[INFO] [stdout]    |         ^^^^^^^^^^ expected `&Vec<Symbol>`, found `Vec<Symbol>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&Vec<_>`
[INFO] [stdout]                  found struct `Vec<_>`
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 86 |         &self.start
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tiro` (bin "tiro" test) due to 22 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0531, E0599, E0603, E0624.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tiro` (bin "tiro") due to 22 previous errors
[INFO] running `Command { std: "docker" "inspect" "2996721cd4c4a1ad37eb2aa955e77b62e6da107f558c0b16d55adae11f2f536d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2996721cd4c4a1ad37eb2aa955e77b62e6da107f558c0b16d55adae11f2f536d", kill_on_drop: false }`
[INFO] [stdout] 2996721cd4c4a1ad37eb2aa955e77b62e6da107f558c0b16d55adae11f2f536d
